/* ========================================================================= */
/* ------------------------------------------------------------------------- */
/*!
  \file			prpex_integer.cc
  \date			june 2011
  \author		TNick

  \brief		string class


 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Please read ReadMe.txt and Licence.txt in root folder
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


*/
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
//
//
//
//
/*  INCLUDES    ------------------------------------------------------------ */

#include	<QSpinBox>

#include	"prpmdl.h"
#include	"prpex_integer.h"


/*  INCLUDES    ============================================================ */
//
//
//
//
/*  FUNCTIONS    ----------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
QWidget*	PEX_Int::editCreate	(QWidget *parent, const QStyleOptionViewItem &option)
{
	Q_UNUSED(option);
	QSpinBox *editor = new QSpinBox(parent);
	editor->setMinimum(int_low);
	editor->setMaximum(int_high);
	if (int_step == 0) int_step = 1;
	editor->setSingleStep(int_step);

	return editor;
}
/* ========================================================================= */

/* ------------------------------------------------------------------------- */
void		PEX_Int::editLoad	(QWidget *editor)
{
	QSpinBox *isb = static_cast<QSpinBox*>(editor);
	isb->setValue(int_value);

}
/* ========================================================================= */

/* ------------------------------------------------------------------------- */
void		PEX_Int::editSave	(QWidget *editor)
{
	QSpinBox *isb = static_cast<QSpinBox*>(editor);
	int_value = isb->value();
	informParent();
}
/* ========================================================================= */

/* ------------------------------------------------------------------------- */
bool		PEX_Int::changeVal	(QVariant new_value)
{
	if (new_value.canConvert<int>())
	{
		if (new_value.convert(QVariant::Int))
		{
			int_value = new_value.toInt();
			informParent();
			return true;
		}
	}
	return false;
}
/* ========================================================================= */

/*  FUNCTIONS    =========================================================== */
//
//
//
//
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
